package com.learn;
import java.util.ArrayList;
import java.util.List;

public class num_118 {
    /**
     * 给定一个非负整数 numRows，生成「杨辉三角」的前 numRows 行。
     *
     * 在「杨辉三角」中，每个数是它左上方和右上方的数的和。
     * @param args
     */
    public static void main(String[] args) {

    }
    public static List<List<Integer>> generate(int numRows) {
        List<List<Integer>> ansList =
                new ArrayList<>();
        for (int i = 0; i < numRows; i++) {
            int j=i+1;
            ArrayList<Integer> innerList =
                    new ArrayList<>(j);
            if (i == 0) {
                innerList.add(1);
            }else {
                innerList.add(0,1);
                List<Integer> bro = ansList.get(i - 1);
                for (int k=1; k<i; k++){
                    innerList.add(k,bro.get(k)+bro.get(k-1));
                }
                innerList.add(i,1);
            }
            ansList.add(innerList);

        }
        return ansList;
    }


}
